/**
 * 
 */
package masml2jade.agents;

import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;

import masml2jade.Belief;
import masml2jade.behaviour.ReativoBehaviour;

import jade.core.Agent;

/**
 * @author Administrator
 *
 */
public class KnowledgeAgent extends ReactiveAgent {
	
	// Belief List
	private Hashtable<String, Belief> beliefs = new Hashtable<String, Belief>();
	
	// Next Function Field
	protected String nextFunction = new String();
	
	// Next Function Method
	protected void nextFunction() {
		
	}
	
	// Beliefs
	public Belief getBelief(String key) {
		return beliefs.get(key);
	}
	public void addBelief(String key, Belief belief) {
		beliefs.put(key, belief);
	}
	public Belief removeBelief(String key) {
		return beliefs.remove(key);
	}
	
	// Put agent initializations here
	  protected void setup() {
		  super.setup();
		  
		  // Ambiente
		  this.getAID().getName(); // PlatformID
		  
		  // Organiza��o
		  this.getAID().getName(); // ContainerID
		  
		  // Papel de agente
		  // Agente Reativo simples, possui somente comportamento
		  ReativoBehaviour behaviour = new ReativoBehaviour();
		  this.addBehaviour(behaviour);
		  
	  }
	
	  // Put agent clean-up operations here
	  protected void takeDown() {
		  
	  }
}
